#ifndef _UVMapperCmd
#define _UVMapperCmd



#include <maya/MPxCommand.h>
#include <maya/MObject.h>
#include <maya/MArgList.h>
#include <maya/MGlobal.h>
#include <maya/MIOStream.h>
#include <maya/MSelectionList.h>
#include <maya/MItSelectionList.h>
#include <maya/MDagPath.h>
#include <maya/MFnDagNode.h>
#include <maya/MString.h>
#include <maya/MItMeshVertex.h>
#include "ShapeProjection.h"
#include "Options.h"
#include "UvBackup.h"
#include "DistortionModel.h"
#include "maya\MFnMesh.h"
#include "AngleFlattener.h"
#include "SeamCutter.h"
#include "AngleSpaceTransformer.h"



class MArgList;

class UVMapper : public MPxCommand
{

public:
				UVMapper();
	virtual		~UVMapper();

	MStatus		doIt( const MArgList& );
	MStatus		redoIt(Options* opts);
	MStatus		undoIt();
	bool		isUndoable() const;

	static		void* creator();

private:


	// Store the data you will need to undo the command here
	UvBackup* backup;
	MSelectionList currSel;
};

#endif
